#ifndef CONTROLLER_H_
#define CONTROLLER_H_

#include <core/synced_current_pose.h>
#include <core/synced_current_mission.h>
#include <core/gui_server.h>
#include <path_planning/path_planner.h>
#include <reactive_behavior/reactive_behavior.h>

class Controller {
private:
	PathPlanner *path_planner_;
	ReactiveBehavior *reactive_behavior_;
	SyncedCurrentPose *synced_current_pose_;
	SyncedCurrentMission *synced_current_mission_;
public:
	Controller (PathPlanner*, 
              ReactiveBehavior*, 
              SyncedCurrentPose*,
              SyncedCurrentMission*);

	void operator()();
};
#endif
